1. /* srodbdvf.cpp by K.Tsuru */
  2. // function ID = 827 BRADIX
  3. /*********************
  4. SRational class
  5. operator d/SR
  6. d/(N/D) = (d*D)/N
  7. **********************/
  8. #ifndef SN_H
  9. #include "sn.h"
  10. #endif
  11. SRational operator/(double d, const SRational& n){
  12. if(n.Sign() == 0) n.num.SetError(n.num.DIVIDED_BY_ZERO,"double/SR", 827);
  13. SRational r;
  14. if(d == 0.0) r.SetZero();
  15. else if(fabs(d) == 1.0L){
  16. r.Set(n.DenNR(), n.NumNR());
  17. if(d < 0.0) r.num.ChangeSign(); //r = -r;
  18. r.reduceDone = n.reduceDone;
  19. }else r.Set((SInteger)d*n.DenNR(), n.NumNR()); // includes r.reduce(false);
  20. return r;
  21. }

srodbdvf.cpp : last modifiled at 2016/06/26 16:29:28(607 bytes)
created at 2016/06/26 15:57:35
The creation time of this html file is 2016/09/18 20:28:05 (Sun Sep 18 20:28:05 2016).